package nameless.aistudy.common.enumeration.util;


import nameless.aistudy.common.enumeration.IdEnumTemplate;

/**
 * 枚举工具类 - 提供通用的枚举操作方法
 */
public interface IdEnumUtil {

    /**
     * 根据ID查找对应的枚举值
     * @param id 统计类型ID
     * @return 对应的StatisticsType枚举（若无则返回null）
     * @throws IllegalArgumentException 如果找不到对应的枚举值
     */
    <E extends Enum<E> & IdEnumTemplate> E fromId(Class<E> enumClass, long id);

    /**
     * 检查给定的ID是否存在对应的枚举值
     * @param id 要检查的ID
     * @return 如果存在返回true，否则返回false
     */
    <E extends Enum<E> & IdEnumTemplate> boolean containsId(Class<E> enumClass, long id);

}
